package com.deng.maintenance.dao;

import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import com.deng.common.vo.OrganizationVo;
import com.deng.maintenance.vo.ItemWeightVo;
import com.deng.maintenance.vo.KPIValueVOOld;
import com.deng.maintenance.vo.KpiDictItemDetailVo;
import com.deng.maintenance.vo.KpiDictItemVo;
import com.deng.maintenance.vo.KpiDictItemVsOrganizationVo;
import com.deng.maintenance.vo.KpiValueVo;

public interface IKPIManager {

	
	public List<KpiDictItemVo> getKpiItemByGuikou(int guikou_id);
	
	public List<KpiValueVo> testList(List<KpiValueVo> l);
	public String standardTest(String formula);
	public String standardMingxiTest(List formula,List values);
	
	public List<KpiDictItemVo> getAllKpiDictItem(String includeName);
	public List<KpiDictItemVo> getAllKpiDictItemWithDetail(String includeName);
	public List<KpiDictItemVo> getAllKpiDictItemForDetailShow(String includeName);
	
	public List<KpiDictItemVsOrganizationVo> getKpiByGuikou(String guikou_id);
	public List<OrganizationVo> getKaoheByGuikou(String guikou_id);
	public List<KpiDictItemVsOrganizationVo> getKpiByKaohe(int kaohe_id,String item_name);
	
//	public List<KpiDictItemVsOrganizationVo> getMyKpiWithoutDetail(String guikou_id);
	
	public void addKpiVsKaohe(int kpi_id,int kaohe_id,int guikou_id,int detail_id);
	public void deleteKpiVsKaohe(int kpi_id,int kaohe_id,int detail_id);
	
	public List<KpiValueVo> getKpiPointByGuikouItem(String guikou_ids,int kpi_id,int y,int m);
	public List<KpiValueVo> getKpiPointByGuikouItemForShow(String guikou_ids,int kpi_id,int y,int m);
	public List<KpiValueVo> getKpiPointByGuikouKaohe(String guikou_ids,int kpi_id,int y,int m);
	public List<KpiValueVo> getKpiPointByGuikouKaoheForShow(String guikou_ids,int kpi_id,int y,int m);
	
	
	public List<KpiValueVo> savePoint(List<KpiValueVo> l,String user_id,int view_type);	
	public List<KpiValueVo> saveListFullPoint(List<KpiValueVo> l,String user_id,int view_type);
	public void saveAllFullPoint(String guishu_id,String user_id,int y,int m);
	
	public List<KpiValueVo> checkPoint(List<KpiValueVo> l,String user_id,Connection conn);

	
	
	
	public void updateKpiDictItem(KpiDictItemVo vo);
	public void saveStandard(String zhibiaomingchengP,String xianshimingchengP,
			String descriptionP,String frequenceP,				
			String fenzhi,String biaozhunzhi,
			String differentScale,String scalePoint,
			int targetType,int addType,
			String formula);
	public void saveStandardSection(String zhibiaomingchengP,String xianshimingchengP,
			String descriptionP,String frequenceP,				
			String fenzhi,String biaozhunzhi,
			int targetType,List sectionItemList,
			String formula);
	public void saveStandardMingxi(String zhibiaomingchengP,String xianshimingchengP,
			String descriptionP,String frequenceP,
			String fenzhiP,List detailOrgArr,
			List formulaList);
	public void saveReward(String zhibiaomingchengP,String xianshimingchengP,
			String descriptionP,String frequenceP,				
			String biaozhunzhi,
			String differentScale,String scalePoint,
			int targetType,int addType,
			int rewardDanwei,
			String formula);
	public void saveRewardSection(String zhibiaomingchengP,String xianshimingchengP,
			String descriptionP,String frequenceP,
			String biaozhunzhi,
			int targetType,List sectionItemList,
			String formula);
	public void saveRewardMingxi(String zhibiaomingchengP,String xianshimingchengP,
			String descriptionP,String frequenceP,
			String fenzhiP,List detailOrgArr,
			List formulaList);
	public void saveDeny(String zhibiaomingchengP,String xianshimingchengP,
			String descriptionP,String frequenceP,			
			String biaozhunzhi,
			String differentScale,String scalePoint,
			int targetType,int addType,
			int rewardDanwei,
			String formula,int noDouble);
	public void saveDenyInput(String zhibiaomingchengP,String xianshimingchengP,
			String descriptionP,String frequenceP);
	
	
	
	
	
	public void updateStandard(String zhibiaomingchengP,String xianshimingchengP,
			String descriptionP,String frequenceP,				
			String fenzhi,String biaozhunzhi,
			String differentScale,String scalePoint,
			int targetType,int addType,
			String formula,int kpi_id);
	public void updateStandardSection(String zhibiaomingchengP,String xianshimingchengP,
			String descriptionP,String frequenceP,				
			String fenzhi,String biaozhunzhi,
			int targetType,List sectionItemList,
			String formula,int kpi_id);
	public void updateStandardMingxi(String zhibiaomingchengP,String xianshimingchengP,
			String descriptionP,String frequenceP,
			String fenzhiP,List detailOrgArr,
			List formulaList,int kpi_id);
	public void updateReward(String zhibiaomingchengP,String xianshimingchengP,
			String descriptionP,String frequenceP,				
			String biaozhunzhi,
			String differentScale,String scalePoint,
			int targetType,int addType,
			int rewardDanwei,
			String formula,int kpi_id);
	public void updateRewardSection(String zhibiaomingchengP,String xianshimingchengP,
			String descriptionP,String frequenceP,
			String biaozhunzhi,
			int targetType,List sectionItemList,
			String formula,int kpi_id);
	public void updateRewardMingxi(String zhibiaomingchengP,String xianshimingchengP,
			String descriptionP,String frequenceP,
			String fenzhiP,List detailOrgArr,
			List formulaList,int kpi_id);
	public void updateDeny(String zhibiaomingchengP,String xianshimingchengP,
			String descriptionP,String frequenceP,			
			String biaozhunzhi,
			String differentScale,String scalePoint,
			int targetType,int addType,
			int rewardDanwei,
			String formula,int kpi_id,int noDouble);
	public void updateDenyInput(String zhibiaomingchengP,String xianshimingchengP,
			String descriptionP,String frequenceP,int kpi_id);
	
	public List<KpiValueVo> saveValid(List<KpiValueVo> l,String user_id,int view_type);
	public List<KpiValueVo> validAll(List<KpiValueVo> l,String user_id,int view_type);
	
	public List<KpiValueVo> getMyAssessment(String guikou_ids,String year,String month,int kaohe_id,String item_name,String status);
	
}
